﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes.mdx
{
	// Token: 0x020003D0 RID: 976
	public class TMdxAxisNode : TMdxExpNode
	{
		// Token: 0x170008B5 RID: 2229
		// (get) Token: 0x06002727 RID: 10023 RVA: 0x0033B319 File Offset: 0x00339519
		// (set) Token: 0x06002728 RID: 10024 RVA: 0x0033B321 File Offset: 0x00339521
		public TMdxAxis Axis
		{
			get
			{
				return this._axis;
			}
			set
			{
				this._axis = value;
			}
		}

		// Token: 0x170008B6 RID: 2230
		// (get) Token: 0x06002729 RID: 10025 RVA: 0x0033B32A File Offset: 0x0033952A
		public override EMdxDataType MdxDataType
		{
			get
			{
				return EMdxDataType.Unknown;
			}
		}

		// Token: 0x170008B7 RID: 2231
		// (get) Token: 0x0600272A RID: 10026 RVA: 0x0033B32D File Offset: 0x0033952D
		public virtual List<TMdxIdentifierNode> DimensionProperties
		{
			get
			{
				return this.dimensionProperties;
			}
		}

		// Token: 0x170008B8 RID: 2232
		// (get) Token: 0x0600272B RID: 10027 RVA: 0x0033B335 File Offset: 0x00339535
		public virtual TMdxExpNode ExpNode
		{
			get
			{
				return this.expNode;
			}
		}

		// Token: 0x170008B9 RID: 2233
		// (get) Token: 0x0600272C RID: 10028 RVA: 0x0033B33D File Offset: 0x0033953D
		public virtual TSourceToken Name_OR_Number
		{
			get
			{
				return this.Name_OR_Number_Renamed;
			}
		}

		// Token: 0x170008BA RID: 2234
		// (get) Token: 0x0600272D RID: 10029 RVA: 0x0033B345 File Offset: 0x00339545
		public virtual TMdxNonEmptyNode NonEmptyNode
		{
			get
			{
				return this.nonEmptyNode;
			}
		}

        // Token: 0x0600272E RID: 10030 RVA: 0x0033B350 File Offset: 0x00339550
        public override void init(object arg1, object arg2, object arg3, object arg4)
        {
            nonEmptyNode = (TMdxNonEmptyNode)arg1;
            expNode = (TMdxExpNode)arg2;
            if (arg3 != null && arg3 is TDummy)
            {
                dimensionProperties = (List<TMdxIdentifierNode>)(object)((TDummy)arg3).node1;
            }
            _axis = (TMdxAxis)arg4;
        }

        // Token: 0x0600272F RID: 10031 RVA: 0x0033B3A3 File Offset: 0x003395A3
        public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002730 RID: 10032 RVA: 0x0033B3B3 File Offset: 0x003395B3
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			this.expNode.accept(v);
			v.postVisit(this);
		}

		// Token: 0x04001DB0 RID: 7600
		private TMdxNonEmptyNode nonEmptyNode;

		// Token: 0x04001DB1 RID: 7601
		private List<TMdxIdentifierNode> dimensionProperties;

		// Token: 0x04001DB2 RID: 7602
		private TMdxExpNode expNode;

		// Token: 0x04001DB3 RID: 7603
		private TSourceToken Name_OR_Number_Renamed;

		// Token: 0x04001DB4 RID: 7604
		private TMdxAxis _axis;
	}
}
